home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Light ROM 1
/
LIGHT-ROM 1 (Amiga Library Services)(1994).iso
/
ffdisks
/
d928.lha
/
MRChoice
/
MultiRequestChoice.dok
< prev
next >
Wrap
Text File
|
1993-10-07
|
11KB
|
283 lines
MultiRequestChoice
Version 1.0 - 1. August 1993
Dokumentation
Entwickelt von Rainer Scharnow
Copyright (c) 1993 Rainer Scharnow
0. Einführung
~~~~~~~~~~~~~
MultiRequestChoice ist ein Requesterutility für das C: Ver-
zeichnis. Es ist als leistungsfähiger und komfortabler Ersatz für
den ASK-Befehl und diverse andere Requesterutilities gedacht. Das
Programm ist sehr nützlich in Batchfiles oder ARexxscripts. Es
gibt zahlreiche Vorteile von MultiRequestChoice:
- Es ist sehr einfach, Requester mit lediglich einem bis
zu einer von Ihnen gewünschten Anzahl von Gadgets zu
konstruieren
- Das Programm benutzt die extrem leistungsstarke
reqtools.library (c) Nico François; deshalb war es
sehr einfach, sämtliche Features in recht kompakten
Code zu packen
- Der Informationstext des Requesters kann aus mehr als
einer Zeile bestehen, außerdem ist dieser optional
zentrierbar
- Der Requester kann optional auf jedem Publicscreen
geöffnet werden
- Es gibt mehrere Optionen, den Requester zu positio-
nieren
1. Systemanforderungen
~~~~~~~~~~~~~~~~~~~~~~
MultiRequestChoice läuft nicht auf Amigas mit 1.x OS. Leute,
die diese Betriebssystemversionen nutzen, sei wärmstens ans Herz
gelegt, über ein Upgrade des Systems nachzudenken. Außerdem muß
sich die reqtools.library V38+ im Libs: Verzeichnis befinden
Das Programm sollte auf allen Amigas mit 68000 bis 68060 Pro-
zessor :-) laufen. Man braucht schließlich keine speziellen Hard-
warehacks, um einen Requester auf den Screen zu bringen ;-).
2. Benutzung
~~~~~~~~~~~~
MultiRequestChoice ist ausschließlich vom CLI aus zu benutzen.
Bei der Entwicklung stand im Vordergrund, ein Utility zu ent-
werfen, das Batchdateien bzw. ARexxscripts unterstützen soll; dem-
nach ist der Einsatz von der Workbench ziemlich sinnlos.
Es gilt folgende Syntax:
MultiRequestChoice <Reqtitle> <Bodytext> <Gad1|Gad2|...|Gadx>
[PUB|PUBSCREEN <Pubscreenname>]
[CENTRETEXT]
[SCREENTOPLEFT|SCREENCENTRE|MOUSECENTRE]
MultiRequestChoice erfordert unbedingt mindestens drei Para-
meter, sonst bekommt der User lapidar noch einmal die Syntax-
vorgaben ausgedruckt. Es folgt eine Erklärung dieser drei not-
wendigen Parameter:
- Reqtitle -
der Title in der Dragbar des Requesters
- Bodytext -
der Text, der im Requester als Informationstext steht
und die Aufgabe hat, den User über die augenblickliche
Situation zu informieren. Als Schmankerl wird eine
Newline-Option angeboten. Es handelt sich um die
Zeichenfolge '\n', die im Textstring angegeben werden
kann und einen Zeilenvorschub bewirkt. Es ist somit
möglich, Requester mit mehrzeiligen Informationstexten
zu produzieren. Wenn die Notwendigkeit besteht, im
Requester selbst das Zeichen '\' auszugeben, so muß
man lediglich '\\' im String anführen. C-Programmierer
wissen auf jeden Fall, was gemeint ist, bei Unklarheit
sollte man sich die Beispiele anschauen
- Gad1|Gad2|...|Gadx -
Parameter zur Angabe des/der Gadgets. Der User hat die
Möglichkeit, eine von ihm gewünschte Anzahl von
Gadgets in den Requester einzubauen. Die einzelnen
Gadgetnamen werden durch ein '|' getrennt. Gleich-
zeitig wird damit bestimmt, wie viele Gadgets auf-
tauchen sollen. Nebenbei ist noch eine Tastaturunter-
stützung enthalten. Ein '_' Character, der vor das
Zeichen im Gadgetstring, das als HotKey dienen soll,
eingefügt wird, erlaubt eine Tasturauswahl der ein-
zelnen Gadgets. Auch hier wird auf die Beispiele ver-
wiesen.
In 99% aller Fälle befinden sich einige Leerzeichen in den
Strings. Dieses Problem läßt sich bewältigen, indem man jeden der
Strings in Anführungszeichen setzt. Dies hat natürlich nichts mit
MultiRequestChoice zu tun, sondern ist ein Shell-Feature.
Letztlich gibt es noch ein paar nützliche Optionen, die das
Verwenden des Requesters außerordentlich attraktiv machen:
- Es existiert eine PUB oder PUBSCREEN Option (beides
bewirkt dasselbe), die ein Argument erfordert. Dieses
Argument ist der Name des PublicScreens, auf dem der
Requester erscheinen soll. Wenn kein PublicScreen exi-
stiert, der diesen Namen besitzt, so öffnet sich der
Requester automatisch auf der Workbench - genauso, als
würde man die Option nicht verwenden
- CENTRETEXT hat die Aufgabe, den Requesterinformations-
text zu zentrieren. Die Option ist jedoch nur dann
sinnvoll zu verwenden, wenn ein mehrzeiliger Text aus-
gegeben wird, da einzeiliger Text sowieso zentriert
erscheint. Voreingestellt ist: linksbündige Ausgabe
- Die SCREENTOPLEFT|SCREENCENTRE|MOUSECENTRE Option
entscheidet über die Position, also wo der Requester
auf dem Screen auftaucht. Bei Angabe von SCREENTOPLEFT
wird der Requester in der linken oberen Ecke des
Screens geöffnet, bei SCREENCENTRE erscheint er in der
Mitte des Screens, und bei MOUSECENTRE wird versucht,
den Requester direkt unter dem Mousezeiger zu öffnen.
Voreingestellt ist: MOUSECENTRE. Die Beispiele zeigen
alle drei Möglichkeiten
3. Rückgabewerte
~~~~~~~~~~~~~~~~
Die ganze Angelegenheit wäre sinnlos, wenn das Betätigen des
oder der Requestergadgets keine Rückgabewerte liefern würde. Das
Programm übergibt seine Werte der Standardsystemvariablen $RC, die
bei Batchbetrieb zur Auswertung herangezogen wird, bzw. im Falle
von ARexx an die ARexx-Standardvariable RC. Dabei gelten folgende
Regeln:
Im Falle, daß der Requester mehr als ein Gadget besitzt, lie-
fert das am meisten rechts befindliche IMMER den Wert 0. Im Falle
eines einzigen Gadgets wird der Requester lediglich zur Infor-
mation des Users benutzt, und es ist egal, was der Requester zu-
rückliefert.
Das am meisten links befindliche Gadget ergibt IMMER 1, das
nächste 2, das dritte 3 usw. Dies wird wohl auch die simpelste
Lösung sein.
Im Falle, daß MultiRequestChoice eine Systemresource nicht be-
legen konnte (z.B. keine reqtools.library vorhanden ist), oder
sonst irgendwelche Probleme auftreten sollten, ist der Rückgabe-
wert 200. An alle Freunde von vielen Gadgets: Es kann zu Mißver-
ständnissen im Rückgabewert kommen, wenn man mehr als 200 Gadgets
verwendet :-). Sollten mich aber dennoch viele Zuschriften er-
reichen, so bin ich durchaus bereit, den Fehlerrückgabewert auf
205 zu erhöhen 8-)
4. Beispiele
~~~~~~~~~~~~
Warum soll man sich Arbeit zweimal machen? In diesem Ver-
zeichnis befinden sich zwei Demos: MRCDemo.bat und MRCDemo.rexx.
Nahezu alle Möglichkeiten des Requesters werden gezeigt. Kleine
Demos sind halt doch besser als seitenlange Erklärungen. Zuerst
muß man in das Verzeichnis von MultiRequestChoice wechseln. Will
man die Batchdatei MRCDemo.bat starten, so schreibe man in die
Shell 'execute MRCDemo.bat' oder 'rx MRCDemo.rexx' im Falle des
ARexxscripts.
Man sollte sich auf jeden Fall beide MRCDemo-Dateien ansehen.
Sie sind zwar nicht kommentiert, jedoch so einfach, daß sie
selbsterklärend sind.
5. Copyright
~~~~~~~~~~~~
Copyright (c) 1993 Rainer Scharnow
Ich, Rainer Scharnow, gebe meine Erlaubnis, wortwörtliche Ko-
pien dieser Anleitung zu erzeugen und zu verbreiten. Sämtliche
Copyrighterklärungen und diese Erlaubnis müssen in diesen Kopien
enthalten sein.
Es ist NICHT garantiert, daß dieses Programm / diese Programme,
das/die in dieser Anleitung beschrieben ist/sind, 100prozentig
funktionieren. Der Benutzer arbeitet mit diesem Programm / diesen
Programmen auf eigenes Risiko. Sollte irgendein Schaden entstehen,
der in Verbindung mit diesem Programm / diesen Programmen zu brin-
gen ist, kann der Autor nicht dafür verantwortlich oder haftbar
gemacht werden.
Dieses Paket ist "freely distributable", aber das Copyright
liegt bei Rainer Scharnow. Diese Software dürfen Sie so lange und
so oft benutzen und kopieren, wie Sie wollen und solange die Copy-
gebühr einschließlich Diskettenpreis DM 5,- oder (geltend für Ver-
sand ins Ausland) US$ 6,- nicht übersteigt. Ausnahmen: Datenmedien
wie CD ROM und Laser Disk.
Es ist ausdrücklich erlaubt, diese Software in Public Domain
Serien aufzunehmen, z.B. in Fred Fishs Library, und sie auf BBS's
und FTP-Server upzuloaden. Dabei müssen alle Files, die im Kapitel
Verzeichnisinhalt aufgelistet sind, enthalten sein.
Kein Programm dieses Pakets darf Bestandteil einer kommer-
ziellen Software sein, ohne daß die Erlaubnis von Rainer Scharnow
dazu gegeben wurde. Ferner ist es strikt untersagt, dieses Pro-
gramm / diese Programme in irgendeiner Weise für militärische
Zwecke zu nutzen.
6. Verzeichnisinhalt
~~~~~~~~~~~~~~~~~~~~
Im Verzeichnis müssen folgende Files enthalten sein:
MRCDemo.bat
MRCDemo.rexx
MultiRequestChoice
MultiRequestChoice.doc
MultiRequestChoice.doc.info
MultiRequestChoice.dok
MultiRequestChoice.dok.info
7. Dank und Grüße
~~~~~~~~~~~~~~~~~
Besonderer Dank geht an:
- Matthew Dillon, den Autor des großartigen DICE Com-
pilers, mit dem das Programm compiliert wurde
- Stefan Becker, den dt. Distributor von DICE. Ich er-
hielt DICE bereits eine Woche nach Sendung einer
EMail. Kommerzielle Vertriebe sollten sich daran ein
Beispiel nehmen! Nebenbei: Ich benutze den Tool-
Manager - da gibt's nichts zu sagen, nur noch zu
klicken :-)
- Nico François (der Teufel hole das 'ç' ;-)), den Autor
des PowerPackers und der wundervollen ReqTools-Kollek-
tion. Mit ReqTools ist es ein Kinderspiel, ein solches
Programm zu schreiben
- Martin Taillefer/Oxxi für TurboText, einen der besten
Editoren, den ich bis jetzt gesehen habe (Ich hoffe,
es fühlen sich die fanatischen User von vi oder stevie
nicht beleidigt :-))
8. Bugs
~~~~~~~
Ich hoffe, daß es in dem Programm keine Bugs gibt, wenn doch
welche gefunden werden sollten - sofort eine Nachricht an mich.
Vorschläge über mögliche Verbesserungen sind ebenfalls erwünscht.
Rainer Scharnow
Linderhofstr. 70
12623 Berlin
Germany
EMail: scharnow@informatik.tfh-berlin.d400.de
EOF